package com.office.automate.service.def.report;

import java.util.List;

import com.office.automate.exception.framework.FrontierVisibleException;
import com.office.automate.model.leave.LeaveRequest;
import com.office.automate.model.leave.LeaveSummaryDetails;
import com.office.automate.model.report.EmployeeLeaveDetailsRequest;
import com.office.automate.model.report.EmployeeSalaryDetails;
import com.office.automate.model.report.EmployeeSalaryDetailsRequest;
import com.office.automate.model.report.MonthlyCoinAnalysis;

public interface ReportingService {

	public List<LeaveRequest> getEmployeeLeaveDetails(EmployeeLeaveDetailsRequest anEmployeeLeaveDetailsRequest) throws FrontierVisibleException;

	public List<LeaveSummaryDetails> getEmployeeLeaveSummaryDetails(EmployeeLeaveDetailsRequest anEmployeeLeaveDetailsRequest) throws FrontierVisibleException;

	public List<EmployeeSalaryDetails> getEmployeeSalaryDetails(EmployeeSalaryDetailsRequest anEmployeeSalaryDetailsRequest) throws FrontierVisibleException;

	public MonthlyCoinAnalysis getMonthlyCoinAnalysisDetails(String billingPeriod) throws FrontierVisibleException;
	
}
